Entities typically generate and use data that is important in some way to their operations. This data can include, for example, business data, financial data, and personnel data. Accordingly, entities create and store backups of their important data that can later be used in a data restore process if necessary.
While the use of backups provides a measure of assurance and security, some entities prefer to take the additional step of replicating, or cloning, the backup so that if the backup should be unavailable for some reason, the clone can be accessed. The cloning concept has proven useful, but implementation of the cloning process itself has given rise to a variety of technological problems.
For example, cloning processes may employ parallel streams to copy multiple savesets to a storage target. In some instances, the number of parallel streams selected by the backup application defaults to ‘unlimited’ so that a user could, in theory, simply set the default value as ‘unlimited’ without having to determine how many streams are needed. While this approach would thus seem to be beneficial, some significant problems would result. For example, if the parallel replication session count is set to unlimited, the backup application will create as many sessions as possible to read from source storage and write to target storage. Rather than sessions being created however, an error message will typically be issued to the effect that the storage session replication limit will be exceeded and the sessions cannot be created.
Given the concerns with setting the number of streams as ‘unlimited,’ a typical approach is to allow the user to manually set the number of streams to be employed in a cloning process. However, manually setting the parallel replication count to a user-specified value requires that a user have determined, in advance, how many streams are supportable by the source storage. Making this determination, if it can be made at all, may be a complicated and time-consuming process that is not suited for performance by a human.
Another complicating factor concerns the fact that target storage capabilities, as well as source storage capabilities, are not well accounted for in conventional systems and methods. As a result, a variety of technological problems may occur. Such technological problems include, for example, overutilization of storage, and underutilization of storage. Moreover, these problems are aggravated in circumstances where multiple cloning processes are being performed that involve a common source storage and/or common target storage.